package com.li;

import com.li.in.MyInterface1;
import com.li.in.MyInterface2;
import com.li.in.MyInterface3;
import com.li.in.MyInterface4;

public class Main {
    public static void main(String[] args) {
//        匿名内部类
//        new MyInterface1(){
//            @Override
//            public void test() {
//                System.out.println("xiaoli");
//            }
//        }.test();
//        无参无返回值 （函数接口）
        MyInterface1 m1 = () -> System.out.println("xiaohui");
        m1.test();
//        有参无返回值
        MyInterface2 m2 = (x) -> System.out.println(x * x);
        m2.test2(4);
//        有多参无返回值
        MyInterface3 m3 = (x, y) -> System.out.println(x * y);
        m3.test3(5, 6);
//        有参有返回值
        MyInterface4 m4 = (x, y) -> {
            return x + y;
        };
        Integer test4 = m4.test4(3, 4);
        System.out.println(test4);
//        有参有返回值 简写
        MyInterface4 my4 = (x,y)->x+y;
        System.out.println(my4.test4(4,5));
    }
}